// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'
import router from './router'

/*引入资源请求插件axios*/
import axios from 'axios';
/*Vue中加入axios原型*/
Vue.prototype.$http = axios;
axios.defaults.baseURL = 'http://127.0.0.1:81';
axios.defaults.withCredentials=true;
// 请求超时时间
axios.defaults.timeout = 120000

// element-ui
import ElementUi from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
Vue.use(ElementUi)
// vuex
import Vuex from 'vuex';
Vue.use(Vuex);
// 引入我们分离出来的vuex文件
import {store} from './store/store'

//ant-design-vue
// import AntDesignVue from 'ant-design-vue';
// import 'ant-design-vue/dist/antd.css';
// Vue.use(AntDesignVue)

//视频
import { videoPlayer } from "vue-video-player";
// Vue.use(videoPlayer)
import "video.js/dist/video-js.css";
import "vue-video-player/src/custom-theme.css";

//字节跳动图标库
import '@icon-park/vue/styles/index.css';

//引入'element-resize-detector'监听页面元素宽度和高度变化
// import elementResizeDetectorMaker from "element-resize-detector";
// Vue.prototype.$watchSize = elementResizeDetectorMaker


//请求拦截器
axios.interceptors.request.use(
  function(config){
    if(sessionStorage.getItem("token")){
      config.headers.common['token'] = sessionStorage.getItem("token");
    }else{
      // 请求路径
      console.log("请求地址:==>"+config.baseURL+config.url);
    }
    return config;
  },
  function(error){
    Vue.prototype.$message.error('请求超时,请重新登录');
    return Promise.reject(error); 
  }
);

// axios.interceptors.request.use(function (config) {
//   let token = window.sessionStorage.getItem("token")
//   token = eval('(' + token + ')');
//   if (token) {
//       config.headers.token = token;    //将token放到请求头发送给服务器
//       //这里经常搭配token使用，将token值配置到tokenkey中，将tokenkey放在请求头中 // config.headers['token'] = Token;
// 　　　　//config.headers.token的token是需要和后台定义叫什么的，我这里定义叫token了

//   }
//   return config;
// }, function (error) {
//   return Promise.reject(error);
// });

Vue.config.productionTip = false

/* eslint-disable no-new */
new Vue({
  el: '#app',
  store:store,
  router,
  components: { App },
  template: '<App/>'
})
